<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 数组去重：
        //    思路1：把不重复的存入新的数组

        // function noRepeat(arr) {
        //     // 新的数组
        //     var arr2 = [] ;
        //     for(var i = 0 ; i < arr.length ; i++) {
        //         // 判断原数组中的值在新数组中是否存在
        //         if(!arr2.includes(arr[i])) {
        //             arr2.push(arr[i])
        //         }
        //     }
        //     return arr2 ;
        // }

        // function noRepeat(arr) {
        //     // 新的数组
        //     var arr2 = [] ;
        //     for(var i = 0 ; i < arr.length ; i++) {
        //         // 判断原数组中的值在新数组中是否存在
        //         if(arr2.indexOf(arr[i]) === -1) {
        //             arr2.push(arr[i])
        //         }
        //     }
        //     return arr2 ;
        // }



        //   思路2：把数组中重复的值删掉   1 2 2 1 3 4 3
        //       每一轮都拿一个值出来，与后面所有的值进行比较，重复就删除
        function noRepeat(arr) {
            // 每一轮都拿一个值出来
            for(var i = 0 ; i < arr.length ; i++) {
                // 与i后面的所有值进行比较
                for(var j = i + 1 ; j < arr.length ; j++) {
                    if(arr[i] === arr[j]) {
                        // 删除后面这个值  j 
                        arr.splice(j , 1) ;
                        // 数组塌陷！！！！  --- 数组删除了一个值之后，数组的长度会发生改变
                        j-- ;
                    }
                }
            }
            
        }


        var arr2 = [1,2,2,2,2,1,3,4,4,4,4,3] ;
        noRepeat(arr2) ;
        console.log(arr2);


        // i=1
        //   j=2   删除了第2个2       1 2 (2) 2 2 
        //   j=3   第三个2会被跳过     j=2 

    </script>
    
</body>
</html>